package org.shop.dao;

import java.util.List;
import java.util.Map;
import org.shop.dao.base.BaseDaoMapper;
import org.shop.entity.Orders;

public interface OrdersMapper extends BaseDaoMapper<Orders, Long>{
	
	/**
	 * 通过订单号获取订单信息
	 * @param orderNo
	 * @return
	 */
	public Orders getOrder(Map<String, Object> paramMap);
	
    /**
     * 分页获取店铺订单列表
     *
     * @param paramMap
     * @return
     */
    public List<Orders> getShopOrderList(Map<String, Object> paramMap);

    /**
     * 获取店铺订单条数
     *
     * @param dataMap
     * @return
     */
    public Integer getShopOrderCount(Map<String, Object> paramMap);
    
    /**
     * 分页获取供应商订单列表
     *
     * @param paramMap
     * @return
     */
    public List<Orders> getSupplierOrderList(Map<String, Object> paramMap);

    /**
     * 获取供应商订单条数
     *
     * @param dataMap
     * @return
     */
    public Integer getSupplierOrderCount(Map<String, Object> paramMap);
    
	/**
	 * 用户获取我的订单
	 *
	 * @param paramMap
	 * @return
	 */
	public List<Map<String, Object>> getUserOrderList(Map<String, Object> paramMap);
    
	/**
	 * 根据订单获取订单下的所有商品
	 *
	 * @param paramMap
	 * @return
	 */
//	public List<Map<String,Object>> getUserOrderGoodsList(Map<String, Object> paramMap);
	
	/**
	 * 根据订单获取订单下的所有商品
	 *
	 * @param paramMap
	 * @return
	 */
	public List<Map<String,Object>> getUserOrderGoodsList(Map<String, Object> paramMap);
	
	/**
	 * 根据订单获取订单下的所有供货商商品
	 *
	 * @param paramMap
	 * @return
	 */
	public List<Map<String,Object>> getUserOrderSupplierGoodsList(Map<String, Object> paramMap);
	/**
	 * 根据用户Id获取商品的完成与未完成订单
	 * @param paramMap
	 * @return
	 */
	public List<Map<String,Object>> getUnFinishAndFinishGoodsList(Map<String, Object> paramMap);
	
	/**
	 * 用户获取订单数量
	 * @param userId
	 * @return
	 */
	public int getUsersOfOrderCount(Long userId); 
	
	/**
	 * 通过订单号查询商品信息和订单信息
	 * @param orderNo
	 * @return
	 */
	public Map<String,Object> getOrderAndGoodsInfoByOrderNo(String orderNo);
	
}